package com.sojson.entity.po;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.enums.core.ERefundsStatus;
import com.sojson.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * Bean
 * 
 * @author liu
 * @date 2021-03-16
 */
@ApiModel("订单商品表Bean")
public class OrderGoods extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1615864295532L;

    @ApiModelProperty("商品名称")
    private String goodName;
    @ApiModelProperty("所属订单编号")
    private String orderNo;
    @ApiModelProperty("退款单号")
    private String refundNo;
    @ApiModelProperty("缩略图")
    private String thumb;
    @ApiModelProperty("原价")
    private BigDecimal originalPrice;
    @ApiModelProperty("单价")
    private BigDecimal price;
    @ApiModelProperty("总价")
    private BigDecimal allTotal;
    @ApiModelProperty("优惠后的金额")
    private BigDecimal couponTotalRear;
    @ApiModelProperty("数量")
    private Integer num;
    @ApiModelProperty("保证金")
    private BigDecimal deposit;
    @ApiModelProperty("商品id")
    private Integer goodsId;
    @ApiModelProperty("商品规格组合表的id")
    private Integer specsId;
    @ApiModelProperty("规格名称")
    private String specsName;
    @ApiModelProperty("租赁天数")
    private Integer rentDays;
    @ApiModelProperty("逾期日期")
    private Date overdueDate;
    @ApiModelProperty("是否已退款(1:已退款,2:未退款,3:退款中)")
    private Integer isRefunds;
    @ApiModelProperty("退款信息")
    private String refundsMsg;
    @ApiModelProperty("归还时快递名称")
    private String expressBackName;
    @ApiModelProperty("归还时快递ID")
    private Integer expressBackId;
    @ApiModelProperty("归还时快递公司编码")
    private String expressBackShipperCode;
    @ApiModelProperty("归还时快递单号")
    private String expressBackCode;
    @ApiModelProperty("订单备注")
    private String mark;
    @ApiModelProperty("创建日期")
    private Date createdAt;
    @ApiModelProperty("更新日期")
    private Date updatedAt;
    @ApiModelProperty("订单商品表集合")
    private List<Integer> ids;
    /** 集合 */
    private List<OrderGoods> orderGoodss;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public OrderGoods() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 商品名称
     */
    public String getGoodName() {
        return goodName;
    }

    /**
     * 设置 商品名称
     */
    public void setGoodName(String goodName) {
        this.goodName = goodName;
    }

    /**
     * 获取 所属订单编号
     */
    public String getOrderNo() {
        return orderNo;
    }

    /**
     * 设置 所属订单编号
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 获取 退款单号
     */
    public String getRefundNo() {
        return refundNo;
    }

    /**
     * 设置 退款单号
     */
    public void setRefundNo(String refundNo) {
        this.refundNo = refundNo;
    }

    /**
     * 获取 缩略图
     */
    public String getThumb() {
        return thumb;
    }

    /**
     * 设置 缩略图
     */
    public void setThumb(String thumb) {
        this.thumb = thumb;
    }

    /**
     * 获取 原价
     */
    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    /**
     * 设置 原价
     */
    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }

    /**
     * 获取 单价
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 设置 单价
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取 总价
     */
    public BigDecimal getAllTotal() {
        return allTotal;
    }

    /**
     * 设置 总价
     */
    public void setAllTotal(BigDecimal allTotal) {
        this.allTotal = allTotal;
    }

    /**
     * 获取 优惠后的金额
     */
    public BigDecimal getCouponTotalRear() {
        return couponTotalRear;
    }

    /**
     * 设置 优惠后的金额
     */
    public void setCouponTotalRear(BigDecimal couponTotalRear) {
        this.couponTotalRear = couponTotalRear;
    }

    /**
     * 获取 数量
     */
    public Integer getNum() {
        return num;
    }

    /**
     * 设置 数量
     */
    public void setNum(Integer num) {
        this.num = num;
    }

    /**
     * 获取 保证金
     */
    public BigDecimal getDeposit() {
        return deposit;
    }

    /**
     * 设置 保证金
     */
    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    /**
     * 获取 商品id
     */
    public Integer getGoodsId() {
        return goodsId;
    }

    /**
     * 设置 商品id
     */
    public void setGoodsId(Integer goodsId) {
        this.goodsId = goodsId;
    }

    /**
     * 获取 商品规格组合表的id
     */
    public Integer getSpecsId() {
        return specsId;
    }

    /**
     * 设置 商品规格组合表的id
     */
    public void setSpecsId(Integer specsId) {
        this.specsId = specsId;
    }

    /**
     * 获取 规格名称
     */
    public String getSpecsName() {
        return specsName;
    }

    /**
     * 设置 规格名称
     */
    public void setSpecsName(String specsName) {
        this.specsName = specsName;
    }

    /**
     * 获取 租赁天数
     */
    public Integer getRentDays() {
        return rentDays;
    }

    /**
     * 设置 租赁天数
     */
    public void setRentDays(Integer rentDays) {
        this.rentDays = rentDays;
    }

    /**
     * 获取 逾期日期
     */
    public Date getOverdueDate() {
        return overdueDate;
    }

    /**
     * 设置 逾期日期
     */
    public void setOverdueDate(Date overdueDate) {
        this.overdueDate = overdueDate;
    }

    /**
     * 获取 是否已退款(1:已退款,2:未退款,3:退款中)
     */
    public Integer getIsRefunds() {
        return isRefunds;
    }

    /**
     * 设置 是否已退款(1:已退款,2:未退款,3:退款中)
     */
    public void setIsRefunds(Integer isRefunds) {
        this.isRefunds = isRefunds;
    }

    /**
     * 获取 退款信息
     */
    public String getRefundsMsg() {
        return refundsMsg;
    }

    /**
     * 设置 退款信息
     */
    public void setRefundsMsg(String refundsMsg) {
        this.refundsMsg = refundsMsg;
    }

    /**
     * 获取 归还时快递名称
     */
    public String getExpressBackName() {
        return expressBackName;
    }

    /**
     * 设置 归还时快递名称
     */
    public void setExpressBackName(String expressBackName) {
        this.expressBackName = expressBackName;
    }

    /**
     * 获取 归还时快递ID
     */
    public Integer getExpressBackId() {
        return expressBackId;
    }

    /**
     * 设置 归还时快递ID
     */
    public void setExpressBackId(Integer expressBackId) {
        this.expressBackId = expressBackId;
    }

    /**
     * 获取 归还时快递公司编码
     */
    public String getExpressBackShipperCode() {
        return expressBackShipperCode;
    }

    /**
     * 设置 归还时快递公司编码
     */
    public void setExpressBackShipperCode(String expressBackShipperCode) {
        this.expressBackShipperCode = expressBackShipperCode;
    }

    /**
     * 获取 归还时快递单号
     */
    public String getExpressBackCode() {
        return expressBackCode;
    }

    /**
     * 设置 归还时快递单号
     */
    public void setExpressBackCode(String expressBackCode) {
        this.expressBackCode = expressBackCode;
    }

    /**
     * 获取 订单备注
     */
    public String getMark() {
        return mark;
    }

    /**
     * 设置 订单备注
     */
    public void setMark(String mark) {
        this.mark = mark;
    }

    /**
     * 获取 创建日期
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建日期
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新日期
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新日期
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 订单商品表集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 订单商品表集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 集合
     */
    public List<OrderGoods> getOrderGoodss() {
        return orderGoodss;
    }

    /**
     * 设置 集合
     */
    public void setOrderGoodss(List<OrderGoods> orderGoodss) {
        this.orderGoodss = orderGoodss;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        setIsRefunds(ERefundsStatus.NO.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

}